package com.yanjr.modules.ad.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.yanjr.common.persistence.Page;
import com.yanjr.common.utils.Global;
import com.yanjr.common.utils.StringUtils;
import com.yanjr.common.web.BaseController;
import com.yanjr.modules.ad.entity.AdLog;
import com.yanjr.modules.ad.service.AdLogService;

/**
 * 广告管理Controller 完成对广告管理 的增加，删除，修改，查看<br>
 * 对应jsp页面在 /WEB-INF/views/modules/advertise 目录下<br>
 * 其中所要注意的功能如下：<br>
 *
 * @ClassName: AdIpController
 * @author yanjr
 * @date 2015年2月03日 上午9:17:33
 */
@Controller
@RequestMapping(value = "${adminPath}/ad/log")
public class AdLogController extends BaseController {

	@Autowired
	private AdLogService adLogService;

	/**
	 * 根据id获得广告管理
	 * 
	 * @param id
	 * @return AdLog
	 * @date 2016年3月24日 上午9:40:58
	 * @author yanjr big123@126.com
	 */
	@ModelAttribute
	public AdLog get(@RequestParam(required = false) String id) {
		if (StringUtils.isNotBlank(id)) {
			return adLogService.get(id);
		} else {
			return new AdLog();
		}
	}

	/**
	 * 获取广告管理列表
	 * 
	 * @param adLog
	 * @param request
	 * @param response
	 * @param model
	 * @return
	 * @date 2016年3月24日 上午9:40:46
	 * @author yanjr big123@126.com
	 */
	@RequestMapping(value = { "list", "" })
	public String list(AdLog adLog, HttpServletRequest request,
			HttpServletResponse response, Model model) {
		Page<AdLog> page = adLogService.find(new Page<AdLog>(request, response), adLog);
		model.addAttribute("page", page);
		return "modules/" + "advertise/adIpList";
	}

	/**
	 * 
	 * 查看广告管理内容
	 * 
	 * @param model
	 *            返回模型
	 * @return "modules/" + "advertise/adIpForm
	 *
	 * @datetime 2015年1月23日上午9:12:04
	 * @author lipingping
	 * @version 0.3
	 */
	@RequestMapping(value = "form")
	public String form(AdLog adLog, Model model) {
		model.addAttribute("adLog", adLog);
		return "modules/" + "advertise/adIpForm";
	}

	/**
	 * 
	 * 保存广告管理内容
	 * 
	 * @param model
	 *            返回模型
	 * @return redirect:"+Global.getAdminPath()+"/myadvertise/adIp/?repage
	 *
	 * @datetime 2015年1月23日上午9:12:04
	 * @author lipingping
	 * @version 0.3
	 */
	@RequestMapping(value = "save")
	public String save(AdLog adLog, Model model,
			RedirectAttributes redirectAttributes) {
		if (!beanValidator(model, adLog)) {
			return form(adLog, model);
		}
		adLogService.save(adLog);
		addMessage(redirectAttributes, "保存广告管理'" + adLog.getName() + "'成功");
		return "redirect:" + Global.getAdminPath() + "/myadvertise/adIp/?repage";
	}

	/**
	 * 
	 * 删除广告管理内容
	 * 
	 * @param model
	 *            返回模型
	 * @return redirect:"+Global.getAdminPath()+"/myadvertise/adIp/?repage
	 *
	 * @datetime 2015年1月23日上午9:12:04
	 * @author lipingping
	 * @version 0.3
	 */
	@RequestMapping(value = "delete")
	public String delete(String id, RedirectAttributes redirectAttributes) {
		adLogService.delete(id);
		addMessage(redirectAttributes, "删除广告管理成功");
		return "redirect:" + Global.getAdminPath() + "/myadvertise/adIp/?repage";
	}

}
